A non-volatile programmable switch includes a configuration memory and a switch transistor, and controls the ON/OFF of the switch transistor according to the data retained in the configuration memory. A non-volatile programmable switch is used in, for example, FPGA (Field Programmable Gate Array) that reconfigures logical circuits and wiring circuits.
Here, for the configuration memory, a configuration that includes two non-volatile memory transistors is known. In this configuration, two non-volatile memory transistors are connected in series, and their contact point becomes the output node of the configuration memory. This output node is connected to the gate of a switch transistor.
A non-volatile programmable switch is required to be manufactured as minutely as possible in order to reduce the silicon surface area. Generally, when miniaturizing non-volatile memory transistors, it becomes difficult to achieve sufficient write/erase characteristics. In the field of high-capacity memory (high density storage), various technologies to improve the write/erase characteristics of non-volatile memory transistors have been proposed. However, there are cases where the technology used for high-capacity memory cannot be applied to the non-volatile memory transistors of non-volatile programmable switches. This is because the non-volatile memory transistors of non-volatile programmable switches and the non-volatile memory transistors of high-capacity memory are generally different in terms of operating conditions as well as configurations, and element dimensions.